package com.ethan.blog.pojo.vo.user;

import com.ethan.blog.pojo.dto.user.UserDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @author: Ethan
 * @Time: 2024/5/25 14:33
 * @description: 用于在视图层展示用户数据的对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserVO extends UserDTO implements Serializable {
    /**
     * token
     */
    @Schema(name = "token", description = "短暂访问权限码")
    private String token;
    /**
     * 权限级别
     */
    @Schema(name = "权限级别", description = "不可为空，默认为0，数字越大权力越高")
    private Integer permissionLevel;
    /**
     * 创建人
     */
    @Schema(name = "创建人", description = "默认为自己")
    private Long createId;
    /**
     * 创建时间
     */
    @Schema(name = "创建时间", description = "当前时间")
    private Date createTime;
    /**
     * 修改人
     */
    @Schema(name = "修改人", description = "默认为自己")
    private Long updateId;
    /**
     * 修改时间
     */
    @Schema(name = "修改时间", description = "当前时间")
    private Date updateTime;
    /**
     * 逻辑删除
     */
    @Schema(name = "逻辑删除", description = "1表示已删除（隐藏），0表示未删除，默认为0")
    private Integer deleted;
}
